.\"
.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for
.\" permission to reproduce portions of its copyrighted documentation.
.\" Original documentation from The Open Group can be obtained online at
.\" http://www.opengroup.org/bookstore/.
.\"
.\" The Institute of Electrical and Electronics Engineers and The Open
.\" Group, have given us permission to reprint portions of their
.\" documentation.
.\"
.\" In the following statement, the phrase ``this text'' refers to portions
.\" of the system documentation.
.\"
.\" Portions of this text are reprinted and reproduced in electronic form
.\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
.\" Standard for Information Technology -- Portable Operating System
.\" Interface (POSIX), The Open Group Base Specifications Issue 6,
.\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
.\" Engineers, Inc and The Open Group.  In the event of any discrepancy
.\" between these versions and the original IEEE and The Open Group
.\" Standard, the original IEEE and The Open Group Standard is the referee
.\" document.  The original Standard can be obtained online at
.\" http://www.opengroup.org/unix/online.html.
.\"
.\" This notice shall appear on any product containing this material.
.\"
.\" The contents of this file are subject to the terms of the
.\" Common Development and Distribution License (the "License").
.\" You may not use this file except in compliance with the License.
.\"
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
.\" or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions
.\" and limitations under the License.
.\"
.\" When distributing Covered Code, include this CDDL HEADER in each
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
.\" If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying
.\" information: Portions Copyright [yyyy] [name of copyright owner]
.\"
.\"
.\" Copyright 1989 AT&T
.\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
.\" Copyright (c) 2014, Joyent, Inc. All Rights Reserved
.\"
.TH STTY 1 "Aug 13, 2021"
.SH NAME
stty \- set the options for a terminal
.SH SYNOPSIS
.LP
.nf
\fB/usr/bin/stty\fR [\fB-a\fR] [\fB-g\fR]
.fi

.LP
.nf
\fB/usr/bin/stty\fR [\fImodes\fR]
.fi

.LP
.nf
\fB/usr/xpg4/bin/stty\fR [\fB-a\fR | \fB-g\fR]
.fi

.LP
.nf
\fB/usr/xpg4/bin/stty\fR [\fImodes\fR]
.fi

.LP
.nf
\fB/usr/xpg6/bin/stty\fR [\fB-a\fR | \fB-g\fR]
.fi

.LP
.nf
\fB/usr/xpg6/bin/stty\fR [\fImodes\fR]
.fi

.SH DESCRIPTION
.LP
The \fBstty\fR utility sets certain terminal I/O options for the device that is
the current standard input. Without arguments, \fBstty\fR reports the settings
of certain options.
.sp
.LP
In this report, if a character is preceded by a caret (\fB^\fR), then the value
of that option is the corresponding control character (for example, \fB^h\fR is
CTRL-h. In this case, recall that CTRL-h is the same as the BACKSPACE key). The
sequence \fB^@\fR means that an option has a null value.
.sp
.LP
See \fBtermio\fR(4I) for detailed information about the modes listed from
\fBControl\fR \fBModes\fR through \fBLocal Modes\fR. For detailed information
about the modes listed under \fBHardware\fR \fBFlow\fR \fBControl\fR
\fBModes\fR and \fBClock Modes\fR, see \fBtermiox\fR(4I).
.sp
.LP
Operands described in the \fBCombination Modes\fR section are implemented using
options in the earlier sections. Notice that many combinations of options make
no sense, but no sanity checking is performed. Hardware flow control and clock
modes options might not be supported by all hardware interfaces.
.SH OPTIONS
.LP
The following options are supported:
.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.RS 6n
Writes to standard output all of the option settings for the terminal.
.RE

.sp
.ne 2
.na
\fB\fB-g\fR\fR
.ad
.RS 6n
Reports current settings in a form that can be used as an argument to another
\fBstty\fR command. Emits termios-type output if the underlying driver supports
it. Otherwise, it emits termio-type output.
.RE

.SH OPERANDS
.LP
The following \fImode\fR operands are supported:
.SS "Control Modes"
.ne 2
.na
\fB\fBparenb\fR(\fB-parenb\fR)\fR
.ad
.RS 24n
Enable (disable) parity generation and detection.
.RE

.sp
.ne 2
.na
\fB\fBparext\fR(\fB-parext\fR)\fR
.ad
.RS 24n
Enable (disable) extended parity generation and detection for mark and space
parity.
.RE

.sp
.ne 2
.na
\fB\fBparodd\fR(\fB-parodd\fR)\fR
.ad
.RS 24n
Select odd (even) parity, or mark (space) parity if \fBparext\fR is enabled.
.RE

.sp
.ne 2
.na
\fB\fBcs5\fR \fBcs6\fR \fBcs7\fR \fBcs8\fR\fR
.ad
.RS 24n
Select character size (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.RS 24n
Hang up line immediately.
.RE

.sp
.ne 2
.na
\fB\fBhupcl\fR (\fB-hupcl\fR)\fR
.ad
.RS 24n
Hang up (do not hang up) connection on last close.
.RE

.sp
.ne 2
.na
\fB\fBhup\fR (\fB-hup\fR)\fR
.ad
.RS 24n
Same as \fBhupcl\fR(\fB-hupcl\fR).
.RE

.sp
.ne 2
.na
\fB\fBcstopb\fR (\fB-cstopb\fR)\fR
.ad
.RS 24n
Use two (one) stop bits per character.
.RE

.sp
.ne 2
.na
\fB\fBcread\fR (\fB-cread\fR)\fR
.ad
.RS 24n
Enable (disable) the receiver.
.RE

.sp
.ne 2
.na
\fB\fBcrtscts\fR (\fB-crtscts\fR)\fR
.ad
.RS 24n
Enable output hardware flow control. Raise the \fBRTS\fR (Request to Send)
modem control line. Suspends output until the CTS (Clear to Send) line is
raised.
.RE

.sp
.ne 2
.na
\fB\fBcrtsxoff\fR (\fB-crtsxoff\fR)\fR
.ad
.RS 24n
Enable input hardware flow control. Raise the \fBRTS\fR (Request to Send) modem
control line to receive data. Suspends input when RTS is low.
.RE

.sp
.ne 2
.na
\fB\fBclocal\fR (\fB-clocal\fR)\fR
.ad
.RS 24n
Assume a line without (with) modem control.
.RE

.sp
.ne 2
.na
\fB\fBdefeucw\fR\fR
.ad
.RS 24n
Set the widths of multibyte characters to the values defined in the current
locale specified by \fBLC_CTYPE\fR. Internally, width is expressed in terms of
bytes per character, and screen or display columns per character.
.RE

.sp
.ne 2
.na
\fB110 300 600 1200 1800\fR
.ad
.br
.na
\fB2400 4800 9600 19200\fR
.ad
.br
.na
\fB38400 357600 76800 115200\fR
.ad
.br
.na
\fB153600 230400 307200 460800\fR
.ad
.br
.na
\fB921600 1000000 1152000 1500000 \fR
.ad
.br
.na
\fB2000000 2500000 3000000 3500000 \fR
.ad
.br
.na
\fB4000000
.ad
.sp .6
.RS 4n
Set terminal baud rate to the number given, if possible. (All speeds are not
supported by all hardware interfaces.)
.RE

.sp
.ne 2
.na
\fBispeed 0 110 300 600 1200\fR
.ad
.br
.na
\fB1800 2400 4800 9600 19200\fR
.ad
.br
.na
\fB38400 57600 76800 115200\fR
.ad
.br
.na
\fB153600 230400 307200 460800\fR
.ad
.br
.na
\fB921600 1000000 1152000 1500000 \fR
.ad
.br
.na
\fB2000000 2500000 3000000 3500000 \fR
.ad
.br
.na
\fB4000000
.ad
.sp .6
.RS 4n
Set terminal input baud rate to the number given, if possible. (Not all
hardware supports split baud rates.) If the input baud rate is set to \fB0\fR,
the input baud rate is specified by the value of the output baud rate.
.RE

.sp
.ne 2
.na
\fBospeed 0 110 300 600 1200\fR
.ad
.br
.na
\fB1800 2400 4800 9600 19200\fR
.ad
.br
.na
\fB38400 57600 76800 115200\fR
.ad
.br
.na
\fB153600 230400 307200 460800\fR
.ad
.br
.na
\fB921600 1000000 1152000 1500000 \fR
.ad
.br
.na
\fB2000000 2500000 3000000 3500000 \fR
.ad
.br
.na
\fB4000000
.ad
.sp .6
.RS 4n
Set terminal output baud rate to the number given, if possible. (Not all
hardware supports split baud rates.) If the output baud rate is set to \fB0\fR,
the line is hung up immediately.
.RE

.SS "Input Modes"
.ne 2
.na
\fB\fBignbrk\fR (\fB-ignbrk\fR)\fR
.ad
.RS 22n
Ignore (do not ignore) break on input.
.RE

.sp
.ne 2
.na
\fB\fBbrkint\fR (\fB-brkint\fR)\fR
.ad
.RS 22n
Signal (do not signal) INTR on break.
.RE

.sp
.ne 2
.na
\fB\fBignpar\fR (\fB-ignpar\fR)\fR
.ad
.RS 22n
Ignore (do not ignore) parity errors.
.RE

.sp
.ne 2
.na
\fB\fBparmrk\fR (\fB-parmrk\fR)\fR
.ad
.RS 22n
Mark (do not mark) parity errors (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBinpck\fR (\fB-inpck\fR)\fR
.ad
.RS 22n
Enable (disable) input parity checking.
.RE

.sp
.ne 2
.na
\fB\fBistrip\fR (\fB-istrip\fR)\fR
.ad
.RS 22n
Strip (do not strip) input characters to seven bits.
.RE

.sp
.ne 2
.na
\fB\fBinlcr\fR (\fB-inlcr\fR)\fR
.ad
.RS 22n
Map (do not map) NL to CR on input.
.RE

.sp
.ne 2
.na
\fB\fBigncr\fR (\fB-igncr\fR)\fR
.ad
.RS 22n
Ignore (do not ignore) CR on input.
.RE

.sp
.ne 2
.na
\fB\fBicrnl\fR (\fB-icrnl\fR)\fR
.ad
.RS 22n
Map (do not map) CR to NL on input.
.RE

.sp
.ne 2
.na
\fB\fBiuclc\fR (\fB-iuclc\fR)\fR
.ad
.RS 22n
Map (do not map) upper-case alphabetics to lower case on input.
.RE

.sp
.ne 2
.na
\fB\fBixon\fR (\fB-ixon\fR)\fR
.ad
.RS 22n
Enable (disable) START/STOP output control. Output is stopped by sending STOP
control character and started by sending the START control character.
.RE

.sp
.ne 2
.na
\fB\fBixany\fR (\fB-ixany\fR)\fR
.ad
.RS 22n
Allow any character (only DC1) to restart output.
.RE

.sp
.ne 2
.na
\fB\fBixoff\fR (\fB-ixoff\fR)\fR
.ad
.RS 22n
Request that the system send (not send) START/STOP characters when the input
queue is nearly empty/full.
.RE

.sp
.ne 2
.na
\fB\fBimaxbel\fR (\fB-imaxbel\fR)\fR
.ad
.RS 22n
Echo (do not echo) \fBBEL\fR when the input line is too long. If \fBimaxbel\fR
is set, the \fBASCII BEL\fR character (\fB07 hex\fR) is echoed if the input
stream overflows. Further input is  not stored, but any input already present
is not disturbed. If \fB-imaxbel\fR is set, no \fBBEL\fR character is echoed,
and all unread input present in the input queue is discarded if the input
stream overflows.
.RE

.SS "Output Modes"
.ne 2
.na
\fB\fBopost\fR (\fB-opost\fR)\fR
.ad
.RS 23n
Post-process output (do not post-process output; ignore all other output
modes).
.RE

.sp
.ne 2
.na
\fB\fBolcuc\fR (\fB-olcuc\fR)\fR
.ad
.RS 23n
Map (do not map) lower-case alphabetics to upper case on output.
.RE

.sp
.ne 2
.na
\fB\fBonlcr\fR (\fB-onlcr\fR)\fR
.ad
.RS 23n
Map (do not map) NL to CR-NL on output.
.RE

.sp
.ne 2
.na
\fB\fBocrnl\fR (\fB-ocrnl\fR)\fR
.ad
.RS 23n
Map (do not map) CR to NL on output.
.RE

.sp
.ne 2
.na
\fB\fBonocr\fR (\fB-onocr\fR)\fR
.ad
.RS 23n
Do not (do) output CRs at column zero.
.RE

.sp
.ne 2
.na
\fB\fBonlret\fR (\fB-onlret\fR)\fR
.ad
.RS 23n
On the terminal NL performs (does not perform) the CR function.
.RE

.sp
.ne 2
.na
\fB\fBofill\fR (\fB-ofill\fR)\fR
.ad
.RS 23n
Use fill characters (use timing) for delays.
.RE

.sp
.ne 2
.na
\fB\fBofdel\fR (\fB-ofdel\fR)\fR
.ad
.RS 23n
Fill characters are DELs (NULs).
.RE

.sp
.ne 2
.na
\fB\fBcr0 cr1 cr2 cr3\fR\fR
.ad
.RS 23n
Select style of delay for carriage returns (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBnl0 nl1\fR\fR
.ad
.RS 23n
Select style of delay for line-feeds (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBtab0 tab1 tab2 tab3\fR\fR
.ad
.RS 23n
Select style of delay for horizontal tabs (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBbs0 bs1\fR\fR
.ad
.RS 23n
Select style of delay for backspaces (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBff0 ff1\fR\fR
.ad
.RS 23n
Select style of delay for form-feeds (see \fBtermio\fR(4I)).
.RE

.sp
.ne 2
.na
\fB\fBvt0 vt1\fR\fR
.ad
.RS 23n
Select style of delay for vertical tabs (see \fBtermio\fR(4I)).
.RE

.SS "Local Modes"
.ne 2
.na
\fB\fBisig\fR(\fB-isig\fR)\fR
.ad
.RS 22n
Enable (disable) the checking of characters against the special control
characters INTR, QUIT, SWTCH, and SUSP. For information on \fBSWTCH\fR, see
\fBNOTES\fR.
.RE

.sp
.ne 2
.na
\fB\fBicanon\fR (\fB-icanon\fR)\fR
.ad
.RS 22n
Enable (disable) canonical input (ERASE and KILL processing). Does not set
\fBMIN\fR or \fBTIME\fR.
.RE

.sp
.ne 2
.na
\fB\fBxcase\fR (\fB-xcase\fR)\fR
.ad
.RS 22n
Canonical (unprocessed) upper/lower-case presentation.
.RE

.sp
.ne 2
.na
\fB\fBecho\fR (\fB-echo\fR)\fR
.ad
.RS 22n
Echo back (do not echo back) every character typed.
.RE

.sp
.ne 2
.na
\fB\fBechoe\fR (\fB-echoe\fR)\fR
.ad
.RS 22n
Echo (do not echo) ERASE character as a backspace-space-backspace string. This
mode erases the ERASEed character on many CRT terminals; however, it does not
keep track of column position and, as a result, it might be confusing for
escaped characters, tabs, and backspaces.
.RE

.sp
.ne 2
.na
\fB\fBechok\fR(\fB-echok\fR)\fR
.ad
.RS 22n
Echo (do not echo) NL after KILL character.
.RE

.sp
.ne 2
.na
\fB\fBlfkc\fR (\fB-lfkc\fR)\fR
.ad
.RS 22n
The same as \fBechok\fR(\fB-echok\fR); obsolete.
.RE

.sp
.ne 2
.na
\fB\fBechonl\fR (\fB-echonl\fR)\fR
.ad
.RS 22n
Echo (do not echo) NL.
.RE

.sp
.ne 2
.na
\fB\fBnoflsh\fR (\fB-noflsh\fR)\fR
.ad
.RS 22n
Disable (enable) flush after INTR, QUIT, or SUSP.
.RE

.sp
.ne 2
.na
\fB\fBstwrap\fR (\fB-stwrap\fR)\fR
.ad
.RS 22n
Disable (enable) truncation of lines longer than \fB79\fR characters on a
synchronous line.
.RE

.sp
.ne 2
.na
\fB\fBtostop\fR (\fB-tostop\fR)\fR
.ad
.RS 22n
Send (do not send) \fBSIGTTOU\fR when background processes write to the
terminal.
.RE

.sp
.ne 2
.na
\fB\fBechoctl\fR \fB(\fR\fB-echoctl\fR\fB)\fR\fR
.ad
.RS 22n
Echo (do not echo) control characters as \fB^\fR\fIchar,\fR delete as \fB^?\fR.
.RE

.sp
.ne 2
.na
\fB\fBechoprt\fR \fB(\fR\fB-echoprt\fR\fB)\fR\fR
.ad
.RS 22n
Echo (do not echo) erase character as character is ``erased''.
.RE

.sp
.ne 2
.na
\fB\fBechoke\fR \fB(\fR\fB-echoke\fR\fB)\fR\fR
.ad
.RS 22n
BS-SP-BS erase (do not BS-SP-BS erase) entire line on line kill.
.RE

.sp
.ne 2
.na
\fB\fBflusho\fR \fB(\fR\fB-flusho\fR\fB)\fR\fR
.ad
.RS 22n
Output is (is not) being flushed.
.RE

.sp
.ne 2
.na
\fB\fBpendin\fR \fB(\fR\fB-pendin\fR\fB)\fR\fR
.ad
.RS 22n
Retype (do not retype) pending input at next read or input character.
.RE

.sp
.ne 2
.na
\fB\fBiexten\fR \fB(\fR\fB-iexten\fR\fB)\fR\fR
.ad
.RS 22n
Enable (disable) special control characters not currently controlled by
\fBicanon\fR, \fBisig\fR, \fBixon\fR, or \fBixoff\fR: \fBVEOL\fR, \fBVSWTCH\fR,
\fBVREPRINT\fR, \fBVDISCARD\fR, \fBVDSUSP\fR, \fBVWERASE\fR, \fBand\fR
\fBVLNEXT\fR.
.RE

.sp
.ne 2
.na
\fB\fBstflush\fR \fB(\fR\fB-stflush\fR)\fR
.ad
.RS 22n
Enable (disable) flush on a synchronous line after every \fBwrite\fR(2).
.RE

.sp
.ne 2
.na
\fB\fBstappl\fR \fB(\fR\fB-stappl\fR)\fR
.ad
.RS 22n
Use application mode (use line mode) on a synchronous line.
.RE

.SS "Hardware Flow Control Modes"
.ne 2
.na
\fB\fBrtsxoff\fR (\fB-rtsxoff\fR)\fR
.ad
.RS 22n
Enable (disable) RTS hardware flow control on input.
.RE

.sp
.ne 2
.na
\fB\fBctsxon\fR (\fB-ctsxon\fR)\fR
.ad
.RS 22n
Enable (disable) CTS hardware flow control on output.
.RE

.sp
.ne 2
.na
\fB\fBdtrxoff\fR (\fB-dtrxoff\fR)\fR
.ad
.RS 22n
Enable (disable) DTR hardware flow control on input.
.RE

.sp
.ne 2
.na
\fB\fBcdxon\fR (\fB-cdxon\fR)\fR
.ad
.RS 22n
Enable (disable) CD hardware flow control on output.
.RE

.sp
.ne 2
.na
\fB\fBisxoff\fR (\fB-isxoff\fR)\fR
.ad
.RS 22n
Enable (disable) isochronous hardware flow control on input.
.RE

.SS "Clock Modes"
.ne 2
.na
\fB\fBxcibrg\fR\fR
.ad
.RS 13n
Get transmit clock from internal baud rate generator.
.RE

.sp
.ne 2
.na
\fB\fBxctset\fR\fR
.ad
.RS 13n
Get the transmit clock from transmitter signal element timing (DCE source)
lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
.RE

.sp
.ne 2
.na
\fB\fBxcrset\fR\fR
.ad
.RS 13n
Get transmit clock from receiver signal element timing (DCE source) lead, CCITT
V.24 circuit 115, EIA-232-D pin 17.
.RE

.sp
.ne 2
.na
\fB\fBrcibrg\fR\fR
.ad
.RS 13n
Get receive clock from internal baud rate generator.
.RE

.sp
.ne 2
.na
\fB\fBrctset\fR\fR
.ad
.RS 13n
Get receive clock from transmitter signal element timing (DCE source) lead,
CCITT V.24 circuit 114, EIA-232-D pin 15.
.RE

.sp
.ne 2
.na
\fB\fBrcrset\fR\fR
.ad
.RS 13n
Get receive clock from receiver signal element timing (DCE source) lead, CCITT
V.24 circuit 115, EIA-232-D pin 17.
.RE

.sp
.ne 2
.na
\fB\fBtsetcoff\fR\fR
.ad
.RS 13n
Transmitter signal element timing clock not provided.
.RE

.sp
.ne 2
.na
\fB\fBtsetcrbrg\fR\fR
.ad
.RS 13n
Output receive baud rate generator on transmitter signal element timing (DTE
source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
.RE

.sp
.ne 2
.na
\fB\fBtsetctbrg\fR\fR
.ad
.RS 13n
Output transmit baud rate generator on transmitter signal element timing (DTE
source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
.RE

.sp
.ne 2
.na
\fB\fBtsetctset\fR\fR
.ad
.RS 13n
Output transmitter signal element timing (DCE source) on transmitter signal
element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
.RE

.sp
.ne 2
.na
\fB\fBtsetcrset\fR\fR
.ad
.RS 13n
Output receiver signal element timing (DCE source) on transmitter signal
element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24.
.RE

.sp
.ne 2
.na
\fB\fBrsetcoff\fR\fR
.ad
.RS 13n
Receiver signal element timing clock not provided.
.RE

.sp
.ne 2
.na
\fB\fBrsetcrbrg\fR\fR
.ad
.RS 13n
Output receive baud rate generator on receiver signal element timing (DTE
source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
.RE

.sp
.ne 2
.na
\fB\fBrsetctbrg\fR\fR
.ad
.RS 13n
Output transmit baud rate generator on receiver signal element timing (DTE
source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
.RE

.sp
.ne 2
.na
\fB\fBrsetctset\fR\fR
.ad
.RS 13n
Output transmitter signal element timing (DCE source) on receiver signal
element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
.RE

.sp
.ne 2
.na
\fB\fBrsetcrset\fR\fR
.ad
.RS 13n
Output receiver signal element timing (DCE source) on receiver signal element
timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin.
.RE

.SS "Control Assignments"
.ne 2
.na
\fB\fIcontrol-character\fR \fIc\fR\fR
.ad
.sp .6
.RS 4n
Set \fIcontrol-character\fR to \fIc\fR, where:
.sp
.ne 2
.na
\fB\fIcontrol-character\fR\fR
.ad
.RS 21n
is \fBctab\fR, \fBdiscard\fR, \fBdsusp\fR, \fBeof\fR, \fBeol\fR, \fBeol2\fR,
\fBerase\fR, \fBerase2\fR, \fBintr\fR, \fBkill\fR, \fBlnext\fR, \fBquit\fR,
\fBreprint\fR, \fBstart\fR, \fBstop\fR, \fBsusp\fR, \fBstatus\fR, \fBswtch\fR,
or \fBwerase\fR (\fBctab\fR is used with \fB-stappl\fR, see \fBtermio\fR(4I)).
For information on \fBswtch\fR, see NOTES.
.RE

.sp
.ne 2
.na
\fB\fIc\fR\fR
.ad
.RS 21n
If \fIc\fR is a single character, the control character is set to that
character.
.sp
In the POSIX locale, if \fIc\fR is preceded by a caret (\fB^\fR) indicating an
escape from the shell and is one of those listed in the \fI^c\fR column of the
following table, then its value used (in the Value column) is the corresponding
control character (for example, ``\fB^d\fR'' is a CTRL-d). ``\fB^?\fR'' is
interpreted as DEL and ``\fB^\(mi\fR'' is interpreted as undefined.
.RE

.RE

.sp

.sp
.TS
box;
c c c c c c
l l l l l l .
\fB^\fR\fIc\fR	\fBValue\fR	\fB^\fR\fIc\fR	\fBValue\fR	\fB^\fR\fIc\fR	\fBValue\fR
\fBa\fR, A	<SOH>	\fBl\fR, L	<FF>	\fBw\fR, W	<ETB>
\fBb\fR, B	<STX>	\fBm\fR, M	<CR>	\fBx\fR, X	<CAN>
\fBc\fR, C	<ETX>	\fBn\fR, N	<SO>	\fBy\fR, Y	<EM>
\fBd\fR, D	<EOT>	\fBo\fR, O	<SI>	\fBz\fR, Z	<SUB>
\fBe\fR, E	<ENQ>	\fBp\fR, P	<DLE>	\fB[\fR	<ESC>
\fBf\fR, F	<ACK>	\fBq\fR, Q	<DC1>	\fB\e\fR	<FS>
\fBg\fR, G	<BEL>	\fBr\fR, R	<DC2>	\fB]\fR	<GS>
\fBh\fR, H	<BS>	\fBs\fR, S	<DC3>	\fB^\fR	<RS>
\fBi\fR, I	<HT>	\fBt\fR, T	<DC4>	\fB_\fR	<US>
\fBj\fR, J	<LF>	\fBu\fR, U	<NAK>	\fB?\fR	<DEL>
\fBk\fR, K	<VT>	\fBv\fR, V	<SYN>		
.TE

.sp
.ne 2
.na
\fB\fBmin\fR \fInumber\fR\fR
.ad
.br
.na
\fB\fBtime\fR \fInumber\fR\fR
.ad
.RS 15n
Set the value of \fBmin\fR or \fBtime\fR to \fInumber\fR. \fBMIN\fR and
\fBTIME\fR are used in Non-Canonical mode input processing (\fB-icanon\fR).
.RE

.sp
.ne 2
.na
\fB\fBline\fR \fIi\fR\fR
.ad
.RS 15n
Set line discipline to \fIi\fR ( \fB0\fR< \fIi\fR <\fB127\fR).
.RE

.SS "Combination Modes"
.ne 2
.na
\fB\fIsaved\fR \fIsettings\fR\fR
.ad
.RS 24n
Set the current terminal characteristics to the saved settings produced by the
\fB-g\fR option.
.RE

.sp
.ne 2
.na
\fB\fBevenp\fR or \fBparity\fR\fR
.ad
.RS 24n
Enable \fBparenb\fR and \fBcs7\fR, or disable \fBparodd\fR.
.RE

.sp
.ne 2
.na
\fB\fBoddp\fR\fR
.ad
.RS 24n
Enable \fBparenb\fR, \fBcs7\fR, and \fBparodd\fR.
.RE

.sp
.ne 2
.na
\fB\fBspacep\fR\fR
.ad
.RS 24n
Enable \fBparenb\fR, \fBcs7\fR, and \fBparext\fR.
.RE

.sp
.ne 2
.na
\fB\fBmarkp\fR\fR
.ad
.RS 24n
Enable \fBparenb\fR, \fBcs7\fR, \fBparodd\fR, and \fBparext\fR.
.RE

.sp
.ne 2
.na
\fB\fB-parity\fR, or \fB-evenp\fR\fR
.ad
.RS 24n
Disable \fBparenb\fR, and set \fBcs8\fR.
.RE

.sp
.ne 2
.na
\fB\fB-oddp\fR\fR
.ad
.RS 24n
Disable \fBparenb\fR and \fBparodd\fR, and set \fBcs8\fR.
.RE

.sp
.ne 2
.na
\fB\fB-spacep\fR\fR
.ad
.RS 24n
Disable \fBparenb\fR and \fBparext\fR, and set \fBcs8\fR.
.RE

.sp
.ne 2
.na
\fB\fB-markp\fR\fR
.ad
.RS 24n
Disable \fBparenb\fR, \fBparodd\fR, and \fBparext\fR, and set \fBcs8\fR.
.RE

.sp
.ne 2
.na
\fB\fBraw\fR (\fB-raw\fR or \fBcooked\fR)\fR
.ad
.RS 24n
Enable (disable) raw input and output. Raw mode is equivalent to setting:
.sp
.in +2
.nf
stty cs8 -icanon min 1 time 0 -isig -xcase \e
    -inpck -opost
.fi
.in -2

.RE

.SS "/usr/bin/stty, /usr/xpg6/bin/stty"
.ne 2
.na
\fB\fBnl\fR (\fB-nl\fR)\fR
.ad
.RS 12n
Unset (set) \fBicrnl\fR, \fBonlcr\fR. In addition \fB-nl\fR unsets \fBinlcr\fR,
\fBigncr\fR, \fBocrnl\fR, and \fBonlret\fR.
.RE

.SS "/usr/xpg4/bin/stty"
.ne 2
.na
\fB\fBnl\fR (\fB-nl\fR)\fR
.ad
.RS 24n
Set (unset) \fBicrnl\fR. In addition, \fB-nl\fR unsets \fBinlcr\fR,
\fBigncr\fR, \fBocrnl\fR, and \fBonlret\fR; \fB-nl\fR sets \fBonlcr\fR, and
\fBnl\fR unsets \fBonlcr\fR.
.RE

.sp
.ne 2
.na
\fB\fBlcase\fR (\fB-lcase\fR)\fR
.ad
.RS 24n
Set (unset) \fBxcase\fR, \fBiuclc\fR, and \fBolcuc\fR.
.RE

.sp
.ne 2
.na
\fB\fBLCASE\fR (\fB-LCASE\fR)\fR
.ad
.RS 24n
Same as \fBlcase\fR (\fB-lcase\fR).
.RE

.sp
.ne 2
.na
\fB\fBtabs\fR (\fB-tabs\fR or \fBtab3\fR)\fR
.ad
.RS 24n
Preserve (expand to spaces) tabs when printing.
.RE

.sp
.ne 2
.na
\fB\fBek\fR\fR
.ad
.RS 24n
Reset ERASE, ERASE2, and KILL characters back to normal DEL, CTRL-h, and CTRL-u,
respectively.
.RE

.sp
.ne 2
.na
\fB\fBsane\fR\fR
.ad
.RS 24n
Reset all modes to some reasonable values.
.RE

.sp
.ne 2
.na
\fB\fIterm\fR\fR
.ad
.RS 24n
Set all modes suitable for the terminal type \fIterm\fR, where \fIterm\fR is
one of \fBtty33\fR, \fBtty37\fR, \fBvt05\fR, \fBtn300\fR, \fBti700\fR, or
\fBtek\fR.
.RE

.sp
.ne 2
.na
\fB\fBasync\fR\fR
.ad
.RS 24n
Set normal asynchronous communications where clock settings are \fBxcibrg\fR,
\fBrcibrg\fR, \fBtsetcoff\fR and \fBrsetcoff\fR.
.RE

.SS "Window Size"
.ne 2
.na
\fB\fBrows\fR \fIn\fR\fR
.ad
.RS 13n
Set window size to \fIn\fR rows.
.RE

.sp
.ne 2
.na
\fB\fBcolumns\fR \fIn\fR\fR
.ad
.RS 13n
Set window size to \fIn\fR columns.
.RE

.sp
.ne 2
.na
\fB\fBcols\fR \fIn\fR\fR
.ad
.RS 13n
Set window size to \fIn\fR columns. \fBcols\fR is a shorthand alias for
columns.
.RE

.sp
.ne 2
.na
\fB\fBypixels\fR \fIn\fR\fR
.ad
.RS 13n
Set vertical window size to \fIn\fR pixels.
.RE

.sp
.ne 2
.na
\fB\fBxpixels\fR \fIn\fR\fR
.ad
.RS 13n
Set horizontal window size to \fIn\fR pixels.
.RE

.SH USAGE
.LP
The \fB-g\fR flag is designed to facilitate the saving and restoring of
terminal state from the shell level. For example, a program can:
.sp
.in +2
.nf
saveterm="$(stty -g)"      # save terminal state
stty (new settings)        # set new state
\&...                        # ...
stty $saveterm             # restore terminal state
.fi
.in -2
.sp

.sp
.LP
Since the \fB-a\fR format is so loosely specified, scripts that save and
restore terminal settings should use the \fB-g\fR option.
.SH ENVIRONMENT VARIABLES
.LP
See \fBenviron\fR(7) for descriptions of the following environment variables
that affect the execution of \fBstty\fR: \fBLANG\fR, \fBLC_ALL\fR,
\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
.SH EXIT STATUS
.LP
The following exit values are returned:
.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.RS 6n
Successful completion.
.RE

.sp
.ne 2
.na
\fB\fB>0\fR\fR
.ad
.RS 6n
An error occurred.
.RE

.SH ATTRIBUTES
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.SS "/usr/xpg4/bin/stty"
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
_
Standard	See \fBstandards\fR(7).
.TE

.SS "/usr/xpg6/bin/stty"
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
_
Standard	See \fBstandards\fR(7).
.TE

.SH SEE ALSO
.LP
.BR tabs (1),
.BR ioctl (2),
.BR write (2),
.BR getwidth (3C),
.BR termio (4I),
.BR termiox (4I),
.BR ldterm (4M),
.BR attributes (7),
.BR environ (7),
.BR standards (7)
.SH NOTES
.LP
Solaris does not support any of the actions implied by \fBswtch\fR, which was
used by the \fBsxt\fR driver on System V release 4. Solaris allows the
\fBswtch\fR value to be set, and prints it out if set, but it does not perform
the \fBswtch\fR action.
.sp
.LP
The job switch functionality on Solaris is actually handled by job control.
\fBsusp\fR is the correct setting for this.
